LlamaIndexのアップデートまとめ:0.6.12(2023/05/28) から 0.6.18(2023/06/03) まで
こんちには。
データアナリティクス事業本部 インテグレーション部 機械学習チームの中村です。
本記事は「0.6.12(2023/05/28)」から「0.6.18(2023/06/03)」までのLlamaIndexのアップデートまとめです。
ソースコードを見ながらアップデート点をピックアップしています。詳細はコード側も参照してみてください。
個人的な注目は0.6.14と0.6.16の以下の変更かなと思います。
- 0.6.14
- 新しいエンジンとしてChatEngineが追加
- 0.6.16
- チャンク処理のパラメータ名が変更され、使用方法に影響があるケースがあるので要注意
それでは見ていきましょう。
各アップデート
2023-05-28 LlamaIndex 0.6.12
- ResponseMode.COMPACT_ACCUMULATEが追加
- ResponseMode.ACCUMULATEはありましたが、COMPACT化でチャンクの再統合が動作するため、より効率的に動作できます
- プロンプト関連の処理がPromptTypeというEnumで再構成されました
2023-05-28 LlamaIndex 0.6.13
- QueryEngineとしてSQLAutoVectorQueryEngineの追加
- 構造化テーブルから得られる洞察を非構造化データと組み合わせることが可能に
- まず構造化テーブルにクエリして洞察を得るかどうかを決定し、次にベクトルストアに対応する問い合わせを推論して、対応するドキュメントを取得します
- 公式ノートブック
- Graphsignalとのインテグレーション
- AIエージェントやLLMを搭載したアプリケーションに観測性を提供します
2023-05-30 LlamaIndex 0.6.14
- ChatEngineという新しいエンジンが追加
- 種類としてはSimpleChatEngine、ReActChatEngine、CondenseQuestionChatEngineの3種類が追加
- as_query_engineの代わりにas_chat_engineでインスタンス化し、切り替えはChatModeで実施できる
- デフォルトはCondenseQuestionChatEngine
- 公式ノートブック
- global_service_contextが追加されデフォルトの変更が可能に
- PromptTypeにCONVERSATION、DECOMPOSE、CHOICE_SELECTが追加
2023-05-31 LlamaIndex 0.6.15
- ドキュメントのユースケースにAgentsが追加
2023-06-01 LlamaIndex 0.6.16
テキストチャンク処理のパラメータ名など、引数の使い方に影響のある名前変更があります。
- NodeParser側のパラメータ・定数
- 定数DEFAULT_CHUNK_OVERLAPが200から20に変更
- 定数DEFAULT_CHUNK_SIZEはそのまま
- ただしパラメータ名がchunk_size_limitからchunck_sizeに変更
- PromptHelper側のパラメータ・定数
- max_chunk_overlapが非推奨となり、代わりにchunk_overlap_ratioの使用が推奨
- 定数MAX_CHUNK_OVERLAPは削除され、代わりに定数DEFAULT_CHUNK_OVERLAP_RATIO(0.1)が追加
- 定数MAX_CHUNK_SIZEがDEFAULT_CONTEXT_WINDOWに名前変更
- 定数NUM_OUTPUTSがDEFAULT_NUM_OUTPUTSに名前変更
- パラメータもmax_chunk_sizeがcontext_windowに名前変更
- 各データストアのto_dictメソッドがto_jsonに変更
- RetryQueryEngineが追加
- 内部ではFeedbackQueryTransformationを使用され、これも追加
- Evaluatorの結果を使ってクエリにフィードバックが可能
- 上記に伴ってEvaluatorをBaseEvaluatorという新しい抽象型で実装されなおしている
- 公式ドキュメント
- PromptHelperの修正
- compact_text_chunksがrepackという名前に変更
- truncateという複数ノードのテキストをつなげる処理が追加
- chunk_overlap_ratioが指定できるように
- Psychicとのインテグレーション
- Psychicは多くのSaaSアプリのデータを1つのユニバーサルAPIで同期させることができるプラットフォーム
2023-06-01 LlamaIndex 0.6.16.post1
- SubQuestionQueryEngineのパッチ
2023-06-03 LlamaIndex 0.6.17
- Node作成について内部的な修正がいくつか実施
- Nodeの削除系操作について見直し
- RefDocInfoにAPIがいくつか追加
2023-06-03 LlamaIndex 0.6.18
- Vector Storeに、MyScaleVectorStoreとSupabaseVectorStoreが追加
- FunctionToolとしてNotionToolSpecが追加
- ドキュメントにはまだ出てこないので開発中の機能と考えられる
まとめ
いかがでしたでしょうか。
冒頭にも書きましたが、0.6.14のChatEngine追加が機能としては注目すべき点で、0.6.16の変更はAPIの使用方法に影響があるケースがあるので注意しておいた方が良さそうです。
これからも定期的にまとめていけたらと思います。